package _case

import (
	"fmt"
	"sync"
)

func MapCase() {
	m := sync.Map{}
	// 设置值
	m.Store("name", "Tom")
	m.Store("age", 18)
	//获取值
	fmt.Println(m.Load("name"))
	fmt.Println(m.Load("age"))
	//获取值，不存在则设置，并返回值
	v, _ := m.LoadOrStore("sex", "female")
	fmt.Println("sex", v)
	fmt.Println("=====================================")
	//遍历值
	m.Range(func(key, value interface{}) bool {
		fmt.Println(key, value)
		return true
	})
	//删除
	m.Delete("sex")
	//获取值，并删除
	m.LoadAndDelete("age")

}
